package com.huyirong.aicode.ai;
import com.huyirong.aicode.ai.model.HtmlCodeResult;
import com.huyirong.aicode.ai.model.MultiFileCodeResult;
import dev.langchain4j.service.SystemMessage;
import reactor.core.publisher.Flux;


public interface AiCodeGeneratorService {
    /**
     * 生成HTML代码
     * @param userMessage 用户输入的代码生成需求描述
     * @return AI输出结果
     */
    @SystemMessage(fromResource = "prompt/codegen-html-system-prompt.txt")  //用户提示词
    HtmlCodeResult generatorHtmlCode(String userMessage);

    /**
     * 生成多文件代码
     * @param userMessage 用户输入的代码生成需求描述
     * @return AI输出结果
     */
    @SystemMessage(fromResource = "prompt/codegen-multi-file-system-prompt.txt")  //用户提示词
    MultiFileCodeResult generatorMultiFileCode(String userMessage);


    @SystemMessage(fromResource = "prompt/codegen-html-system-prompt.txt")  //用户提示词
    Flux<String> generatorHtmlCodeStream(String userMessage);


    @SystemMessage(fromResource = "prompt/codegen-multi-file-system-prompt.txt")  //用户提示词
    Flux<String> generatorMultiFileCodeStream(String userMessage);
}
